# Copyright (c) 2025, 大连理工大学 (Dalian University of Technology)
#
# Licensed under the Mulan PSL v2.
# You can use this file according to the terms and conditions of the Mulan PSL v2.
# You may obtain a copy of the License at
#
#     http://license.coscl.org.cn/MulanPSL2
#
# THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
# EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. SEE THE MULAN PSL v2
# FOR MORE DETAILS.

cmake_minimum_required(VERSION 3.20)
set(CMAKE_CXX_STANDARD 14)

project(BDFImportTest)


# 获取.cpp文件
file(
  GLOB_RECURSE
  _src
  CONFIGURE_DEPENDS
  "BDFFile/*.cpp"
  "Constraint/*.cpp"
  "Coordinate/*.cpp"
  "Dynamic/*.cpp"
  "Element/*.cpp"
  "Load/*.cpp"
  "Material/*.cpp"
  "Node/*.cpp"
  "Property/*.cpp"
  "Partition/*.cpp"
  "Table/*.cpp"
  "Subcase/*.cpp"
  "Parameter/*.cpp"
  "Design/*.cpp"
)



add_executable(${PROJECT_NAME}
  ${_src}
  main.cpp)

# target_compile_options(${PROJECT_NAME} PRIVATE -UEXPORTING_IMPORT)
# target_compile_options(${PROJECT_NAME} PRIVATE -UEXPORTING_BDF)

# 链接库
target_link_libraries(
  ${PROJECT_NAME}
  PRIVATE Algebra
  PRIVATE Exception
  PRIVATE Configuration
  PRIVATE FileSystem
  PRIVATE Logging
  PRIVATE Stacktrace
  
  PRIVATE DataStructure
  PRIVATE DBManager
  )
target_link_libraries(
  ${PROJECT_NAME} PRIVATE
  -Wl,--whole-archive # 开始整个静态库
  BDFImport # 链接静态库
  -Wl,--no-whole-archive # 结束整个静态库
)
# 第三方库
import_gtest()
# 导入Boost库
import_boost()


